/**
 * elancom Corporation copy right 2012 - 2015  
 *   
 * $Header: https://192.168.1.224/svn/elancom/product/elancom-platform/trunk/src/main/java/com/elancom/framework/commons/json/annotation/JSONField.java 1034 2012-07-02 03:09:12Z lanzhouxue $
 * $Id: JSONField.java 1034 2012-07-02 03:09:12Z lanzhouxue $
 * $Author: lanzhouxue $
 * $Date: 2012-07-02 11:09:12 +0800 (Mon, 02 Jul 2012) $
 * $Revision: 1034 $
 */
package com.elancom.framework.commons.json.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import com.elancom.framework.commons.json.parser.Feature;
import com.elancom.framework.commons.json.serializer.SerializerFeature;

/**
 * @author elancom
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER })
public @interface JSONField {

	String name() default "";

	String format() default "";

	boolean serialize() default true;

	boolean deserialize() default true;

	SerializerFeature[] serialzeFeatures() default {};

	Feature[] parseFeatures() default {};
}
